---
# vars identiques sur tous les hosts
-nextcloud_tmp_path: "/tmp/nextcloud_restore/{{ site_domain }}"
nextcloud_data_path: "{{ nextcloud_webroot }}/data"
nextcloud_websrv: nginx # si besoin de apache, ecraser cette valeur viaun fichier de variables groupe ou host
nextcloud_repo_url: 'https://download.nextcloud.com/server/releases'
\ No newline at end of file
nextcloud_webroot: "{{ nextcloud_files_path }}/instance"
nextcloud_websrv_user: www-data
nextcloud_files_path: "/opt/nuage"
-nextcloud_version: 23.0.12
+nouvelle_version: 23.0.12
# possble value:
# 23.0.12
# 24.0.12
# 25.0.9
-# 26.0.4
\ No newline at end of file
+# 26.0.4
+php_fpm_service: php8.0-fpm
+nextcloud_tmp_path: "/tmp/nextcloud/{{ domain }}"
+nextcloud_db_name: "php_nuage_{{ domain }}"
+nextcloud_sources_files_path: "{{ nextcloud_files_path }}/sources"
+nextcloud_common_files_path: "{{ nextcloud_files_path }}/common"
+nextcloud_source: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
+nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
\ No newline at end of file
nextcloud_webroot: "/home/www/data/org/heureux-cyclage/nuages/instances/{{ domain }}"
nextcloud_websrv_user: php_nuages
-nextcloud_db_name: "php_nuage_{{ domain }}"
\ No newline at end of file
+nextcloud_db_name: "php_nuage_{{ domain }}"
+php_fpm_service: php8.0-fpm
+nextcloud_tmp_path: "/home/nextcloud_tmp/{{ domain }}"
\ No newline at end of file
nextcloud_websrv_user: "php_{{ sigle }}_nuage"
nextcloud_sources_files_path: "/home/sites/data/nextcloud/sources"
nextcloud_common_files_path: "/home/sites/data/nextcloud/common"
-nextcloud_version: "{{ nouvelle_version }}"
nextcloud_webroot: "/home/sites/data/{{ tld }}/{{ domain }}/nuage"
nextcloud_source: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
-nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
\ No newline at end of file
+nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
+php_fpm_service: php8.2-fpm
\ No newline at end of file
--- /dev/null
+nextcloud_tmp_path: "/tmp/nextcloud/{{ domain }}"
\ No newline at end of file
---
# WARNING ATTENTION VERIFIER QU'IL Y A ASSEZ D'ESPACE SUR ATELIERS POUR CREER UNE ARCHIVES DES DATAS NEXTCLOUD
-# commande pour lancer le playbook: ansible-playbook play_move_and_restore.yml -e "site_domain=cyclocoop"
+# commande pour lancer le playbook: ansible-playbook play_move_and_restore.yml -u rominique
+
+- name: Play sur le controller
+ hosts: localhost
+ vars_prompt:
+
+ - name: domain
+ prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
+ private: false
-# play sur le controller
-- hosts: localhost
tasks:
- - name: create nextcloud restore dir on controller
- ansible.builtin.file:
- path: "{{ nextcloud_tmp_path }}"
- state: directory
- mode: '777'
-
-# play sur ateliers
-- hosts: ateliers
+
+ - name: Rendre la var domain dispo pour le host ateliers
+ ansible.builtin.set_fact:
+ domain: "{{ domain }}"
+ delegate_to: "{{ item }}"
+ delegate_facts: true
+ loop:
+ - ateliers
+ - vm_debian11
+
+ - name: Create nextcloud restore dir on controller
+ ansible.builtin.file:
+ path: "{{ nextcloud_tmp_path }}"
+ state: directory
+ mode: '777'
+
+- name: Play sur ateliers
+ hosts: ateliers
tasks:
- - include_tasks: tasks/backup_from_ateliers.yml
-# play sur vm_upgrade
-- hosts: vm_debian11
+ # - name: Include backup_from_ateliers
+ # ansible.builtin.include_tasks: tasks/backup_from_ateliers.yml
+
+- name: Play sur vm_debian11
+ hosts: vm_debian11
tasks:
- - include_tasks: tasks/restore_to_vm.yml
\ No newline at end of file
+
+ - name: Include restore_to_vm.
+ ansible.builtin.include_tasks: tasks/restore_to_vm.yml
+
+# clean file on controller?
---
-- name: create nextcloud restore dir
- ansible.builtin.file:
+- name: Create nextcloud restore dir
+ ansible.builtin.file:
path: "{{ nextcloud_tmp_path }}"
state: directory
mode: '777'
-# - name: activate nextcloud maintenance mode
-# become_user: "{{ nextcloud_websrv_user }}"
-# become: true
-# command: './console maintenance:mode --on'
-# args:
-# chdir: "{{ nextcloud_webroot }}"
+- name: activate nextcloud maintenance mode
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ command: './console maintenance:mode --on'
+ args:
+ chdir: "{{ nextcloud_webroot }}"
-# - name: "Compress directory {{ nextcloud_data_path }} into {{ nextcloud_tmp_path }}/data.tar.gz"
-# become_user: "{{ nextcloud_websrv_user }}"
-# become: true
-# community.general.archive:
-# path: "{{ nextcloud_data_path }}"
-# dest: "{{ nextcloud_tmp_path }}/data.tar.gz"
-# format: gz
-# force_archive: true
-# mode: '777'
-
-- name: Create a dump of the postgreSQL database
+- name: "Compress directory {{ nextcloud_data_path }} into {{ nextcloud_tmp_path }}/data.tar.gz"
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ community.general.archive:
+ path: "{{ nextcloud_data_path }}"
+ dest: "{{ nextcloud_tmp_path }}/data.tar.gz"
+ format: gz
+ force_archive: true
+ mode: '777'
+
+- name: Create a dump of the postgreSQL database # noqa : command-instead-of-module
become: true
become_user: "{{ nextcloud_websrv_user }}"
- command: "pg_dump -f {{ nextcloud_tmp_path }}/dump.sql -F c -O -b {{ nextcloud_db_name }}"
+ ansible.builtin.command: "pg_dump -f dump.sql -F c -O -b {{ nextcloud_db_name }}"
+ args:
+ chdir: "{{ nextcloud_tmp_path }}"
+
+- name: copy nextcloud config file
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.copy:
+ src: "{{ nextcloud_webroot }}/config/config.php"
+ dest: "{{ nextcloud_tmp_path }}/config.php"
+ remote_src: yes # because the config file is already in the nextcloud_tmp_path
+ mode: '755'
-- name: add read permissions to created tmp files
+- name: Add read permissions to created tmp files
become: true
become_user: root
ansible.builtin.file:
owner: "{{ nextcloud_websrv_user }}"
group: "{{ nextcloud_websrv_user }}"
state: directory
- recurse: yes
- mode: '644' #or 'u=rw,g=r,o=r'
+ recurse: true
+ mode: '755' # or 'u=rw,g=r,o=r'
- name: Fetch nextcloud_data from atelier to ansible controller
+ # become: true
+ # become_user: "{{ nextcloud_websrv_user }}"
+ ansible.builtin.fetch:
+ src: "{{ item }}"
+ dest: "/tmp/nextcloud/{{ domain }}/"
+ flat: true
+ loop:
+ - "{{ nextcloud_tmp_path }}/dump.sql"
+ - "{{ nextcloud_tmp_path }}/data.tar.gz"
+ - "{{ nextcloud_tmp_path }}/config.php"
+
+- name: Supprimer les fichiers temporaires du serveur ateliers
become: true
become_user: "{{ nextcloud_websrv_user }}"
- fetch:
- src: "{{ item }}"
- dest: "{{ nextcloud_tmp_path }}/"
- flat: yes
+ ansible.builtin.file:
+ path: "{{ item }}"
+ state: absent
loop:
- "{{ nextcloud_tmp_path }}/dump.sql"
- "{{ nextcloud_tmp_path }}/data.tar.gz"
- - "{{ nextcloud_webroot }}/config/config.php"
+ - "{{ nextcloud_tmp_path }}/config.php"
# - name: deactivate nextcloud maintenance mode
# become_user: "{{ nextcloud_websrv_user }}"
# become: true
# command: './console maintenance:mode --off'
# args:
-# chdir: "{{ nextcloud_webroot }}"
\ No newline at end of file
+# chdir: "{{ nextcloud_webroot }}"
\ No newline at end of file
ansible.builtin.get_url:
url: "{{ nextcloud_repo_url }}/nextcloud-{{ nouvelle_version }}.tar.bz2"
dest: "{{ nextcloud_sources_files_path }}/"
- mode: '755' #or u=rwx,g=rx,o=rx
+ mode: '755' # or u=rwx,g=rx,o=rx
checksum: "md5:{{ nextcloud_repo_url }}/nextcloud-{{ nouvelle_version }}.tar.bz2.md5"
- name: create nextcloud source dir
ansible.builtin.file:
path: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
state: directory
- mode: '755' #or u=rwx,g=rx,o=rx
+ mode: '755' # or u=rwx,g=rx,o=rx
- name: Extract downloaded nextcloud source
become: true
ansible.builtin.unarchive:
src: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}.tar.bz2"
dest: "{{ nextcloud_sources_files_path }}/"
-# mode: '755' #or u=rwx,g=rx,o=rx
+# mode: '755' # or u=rwx,g=rx,o=rx
remote_src: yes
- name: "rename nextloud dir to nextcloud-{{ nouvelle_version }}"
ansible.builtin.copy:
src: "{{ nextcloud_sources_files_path }}/nextcloud/"
dest: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
- remote_src: yes #because the config file is already in the nextcloud_tmp_path
+ remote_src: yes # because the config file is already in the nextcloud_tmp_path
- name: deleted downloaded nextcloud files
become: true
---
-- name: clean nextcloud restore dir content
- ansible.builtin.file:
- path: "{{ nextcloud_tmp_path }}"
- state: absent
+# - name: Clean nextcloud restore dir content
+# become_user: "{{ nextcloud_websrv_user }}"
+# become: true
+# ansible.builtin.file:
+# path: "{{ item }}"
+# state: absent
+# loop:
+# - "{{ nextcloud_tmp_path }}"
+# - "{{ nextcloud_webroot }}/data"
-- name: recreate nextcloud restore dir
+- name: Recreate nextcloud restore dir # necessite le paquet acl installé
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
ansible.builtin.file:
- path: "{{ nextcloud_tmp_path }}"
- state: present
+ path: "{{ item }}"
+ state: directory
+ loop:
+ - "{{ nextcloud_tmp_path }}"
+ - "{{ nextcloud_webroot }}/data"
-- name: Copy the file from ansible controller to vm host
- copy:
- src: "{{ item }}"
- dest: "{{ nextcloud_data_path }}"
- loop:
- - "{{ nextcloud_tmp_path }}/dump.sql"
- - "{{ nextcloud_tmp_path }}/data.tar.gz"
- - "{{ nextcloud_tmp_path }}/config.php"
+# - name: Copy files from ansible controller to vm host
+# become_user: "{{ nextcloud_websrv_user }}"
+# become: true
+# ansible.builtin.copy:
+# src: "{{ nextcloud_tmp_path }}/"
+# dest: "{{ nextcloud_tmp_path }}/"
-- name: Extract nc data archive
- ansible.builtin.unarchive:
- src: "{{ nextcloud_data_tmp }}"
- dest: "{{ nextcloud_data_path }}"
+# - name: Extract nc data archive
+# become_user: "{{ nextcloud_websrv_user }}"
+# become: true
+# ansible.builtin.unarchive:
+# src: "{{ nextcloud_tmp_path }}/data.tar.gz"
+# dest: "{{ nextcloud_webroot }}/data"
-- name: stop webserver service
+- name: Stop webserver service
become: true
become_user: root
ansible.builtin.service:
name: "{{ nextcloud_websrv }}"
state: stopped
-- name: restore psql dump
+- name: "[PostgreSQL] - {{ nextcloud_websrv_user }} role is created."
+ become_user: postgres
become: true
+ community.postgresql.postgresql_user:
+ name: "{{ nextcloud_websrv_user }}"
+ state: present
+ role_attr_flags: CREATEDB
+
+- name: "[PostgreSQL] - {{ nextcloud_db_name }} database is created."
+ become_user: postgres
+ become: true
+ community.postgresql.postgresql_db:
+ name: "{{ nextcloud_db_name }}"
+ state: "{{ item }}"
+ owner: "{{ nextcloud_websrv_user }}"
+ target: "{{ nextcloud_tmp_path }}/dump.sql"
+ loop:
+ - absent
+ - present
+ - restore
+
+# - name: Restore psql dump # noqa : command-instead-of-module
+# become: true
+# become_user: postgres
+# ansible.builtin.command: "pg_restore -c -F c -O -x -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.pgc"
+
+- name: Update data fingerprint post db restore # noqa : command-instead-of-module
become_user: "{{ nextcloud_websrv_user }}"
- command: "pg_restore -F c -O -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.sql"
+ become: true
+ ansible.builtin.command: './console maintenance:data-fingerprint'
+ args:
+ chdir: "{{ nextcloud_webroot }}"
-- name: copy config.php over from old instance
+- name: create nextcloud config
become_user: "{{ nextcloud_websrv_user }}"
become: true
- ansible.builtin.copy:
- src: "{{ nextcloud_data_tmp }}/config/config.php"
+ ansible.builtin.template:
+ src: templates/config_template.j2
dest: "{{ nextcloud_webroot }}/config/config.php"
- remote_src: yes #because the config file is already in the nextcloud_tmp_path
owner: "{{ nextcloud_websrv_user }}"
group: "{{ nextcloud_websrv_user }}"
- mode: '640' #or u=rwx,g=r,o=
+ mode: '640' # or u=rwx,g=r,o=
+
+- name: Deactivate nextcloud maintenance mode # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: './console maintenance:mode --off'
+ args:
+ chdir: "{{ nextcloud_webroot }}"
-- name: update nextcloud root dir symbolic link
+- name: Update nextcloud root dir symbolic link
+ become_user: "{{ nextcloud_websrv_user }}"
become: true
ansible.builtin.file:
src: "{{ nextcloud_source }}"
dest: "{{ nextcloud_webroot }}/nextcloud"
- owner: nextcloud
- group: nextcloud
+ owner: "{{ nextcloud_websrv_user }}"
+ group: "{{ nextcloud_websrv_user }}"
state: link
follow: false
-- name: update nextcloud common app dir symbolic link
+- name: Update nextcloud common app dir symbolic link
+ become_user: "{{ nextcloud_websrv_user }}"
become: true
ansible.builtin.file:
src: "{{ nextcloud_common }}"
dest: "{{ nextcloud_webroot }}/common"
- owner: nextcloud
- group: nextcloud
+ owner: "{{ nextcloud_websrv_user }}"
+ group: "{{ nextcloud_websrv_user }}"
state: link
follow: false
-- name: deactivate nextcloud maintenance mode
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: './console maintenance:mode --off'
- args:
- chdir: "{{ nextcloud_webroot }}"
-
-- name: start webserver service
+- name: Start webserver service
become: true
ansible.builtin.service:
name: "{{ nextcloud_websrv }}"
state: started
-- name: Run occ upgrade
+- name: Run occ upgrade # noqa : command-instead-of-module
become_user: "{{ nextcloud_websrv_user }}"
become: true
- command: './console upgrade'
+ ansible.builtin.command: './console upgrade'
args:
chdir: "{{ nextcloud_webroot }}"
register: nc_upgrade_result
-- name: display upgrade result
- debug:
+- name: Display upgrade result
+ ansible.builtin.debug:
var: nc_upgrade_result.stdout_lines
-- name: wait for upgrade to complete
+- name: Wait for upgrade to complete
block:
- - name: wait for nextcloud maintenance mode to become false
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: php occ status
- args:
- chdir: "{{ nextcloud_webroot }}"
- register: result
- until: "'maintenance: false' in result.stdout"
- retries: 15
- delay: 20
+
+ - name: Wait for nextcloud maintenance mode to become false # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: './console status'
+ args:
+ chdir: "{{ nextcloud_webroot }}"
+ register: result
+ until: "'maintenance: false' in result.stdout"
+ retries: 15
+ delay: 20
+
rescue:
- - name: deactivate maintenance mode manually
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: php occ maintenance:mode --off
- register: rescue
- - name: display rescue
- debug:
- var: rescue.stdout_lines
-
-- name: launch post-upgrade cleaning scripts
+
+ - name: Deactivate maintenance mode manually # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: './console maintenance:mode --off'
+ args:
+ chdir: "{{ nextcloud_webroot }}"
+ register: rescue
+
+ - name: Display rescue
+ ansible.builtin.debug:
+ var: rescue.stdout_lines
+
+- name: Launch post-upgrade cleaning scripts
+ when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
block:
- - name: launch some occ cleaning command
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: "php occ {{ command }}"
- args:
- chdir: "{{ nextcloud_webroot }}"
- loop:
- - db:add-missing-columns
- - db:add-missing-indices
- - db:add-missing-primary-keys
- - dav:remove-invalid-shares
- - files:cleanup
-# - files:scan --all
- loop_control:
- loop_var: command
- register: nc_indices_cmd
-
- - name: display each occ commands result
- debug:
- msg: "{{ item.stdout_lines }}"
- loop: "{{ nc_indices_cmd.results }}"
- loop_control:
- label: "{{ item.command }}"
- when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
\ No newline at end of file
+
+ - name: Launch some occ cleaning command
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: "./console { command }}"
+ args:
+ chdir: "{{ nextcloud_webroot }}"
+ loop:
+ - db:add-missing-columns
+ - db:add-missing-indices
+ - db:add-missing-primary-keys
+ - dav:remove-invalid-shares
+ - files:cleanup
+ # - files:scan --all
+ loop_control:
+ loop_var: command
+ register: nc_indices_cmd
+
+ - name: Display each occ commands result
+ ansible.builtin.debug:
+ msg: "{{ item.stdout_lines }}"
+ loop: "{{ nc_indices_cmd.results }}"
+ loop_control:
+ label: "{{ item.command }}"
----
-- name: stop webserver service
+- name: Stop webserver service
become: true
ansible.builtin.service:
name: "{{ nextcloud_websrv }}"
state: stopped
-
-- name: update nextcloud root dir symbolic link
+
+- name: Update nextcloud root dir symbolic link
become: true
ansible.builtin.file:
src: "{{ nextcloud_source }}"
state: link
follow: false
-- name: update nextcloud common app dir symbolic link
+- name: Update nextcloud common app dir symbolic link
become: true
ansible.builtin.file:
src: "{{ nextcloud_common }}"
state: link
follow: false
-- name: start webserver service
+- name: Start webserver service
become: true
ansible.builtin.service:
name: "{{ nextcloud_websrv }}"
state: started
-- name: Run nextcloud upgrade script
+- name: Run nextcloud upgrade script # noqa : command-instead-of-module
become_user: "{{ nextcloud_websrv_user }}"
become: true
- command: ./console upgrade
+ ansible.builtin.command: ./console upgrade
args:
chdir: "{{ nextcloud_webroot }}"
register: nc_upgrade_result
-- name: display upgrade result
+- name: Display upgrade result
debug:
var: nc_upgrade_result.stdout_lines
-- block:
- - name: wait for nextcloud maintenance mode to become false
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: ./console status
- args:
- chdir: "{{ nextcloud_webroot }}"
- register: result
- until: "'maintenance: false' in result.stdout"
- retries: 15
- delay: 20
+- name: Bloque de tâches contrôlant la fin de la maintenance de mise à jour
+ block:
+ - name: Wait for nextcloud maintenance mode to become false # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: ./console status
+ args:
+ chdir: "{{ nextcloud_webroot }}"
+ register: result
+ until: "'maintenance: false' in result.stdout"
+ retries: 15
+ delay: 20
rescue:
- - name: deactivate maintenance mode manually
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: ./console maintenance:mode --off
- args:
- chdir: "{{ nextcloud_webroot }}"
- register: rescue
- - name: display rescue
- debug:
- var: rescue.stdout_lines
\ No newline at end of file
+ - name: Deactivate maintenance mode manually # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: ./console maintenance:mode --off
+ args:
+ chdir: "{{ nextcloud_webroot }}"
+ register: rescue
+
+ - name: Display rescue
+ ansible.builtin.debug:
+ var: rescue.stdout_lines
+
+- name: Reload php fpm service
+ become: true
+ ansible.builtin.service:
+ name: "{{ php_fpm_service }}"
+ state: reloaded
\ No newline at end of file
--- /dev/null
+<?php
+$CONFIG = array (
+ 'appstoreenabled' => false,
+ 'trusted_domains' =>
+ array (
+ 0 => 'nuage.migration.org',
+ ),
+ 'datadirectory' => '{{ nextcloud_webroot}}/data',
+ 'overwrite.cli.url' => 'https://nuage.migration.org',
+ 'dbtype' => 'pgsql',
+ 'dbname' => '{{ nextcloud_db_name }}',
+ 'dbhost' => '/run/postgresql',
+ 'dbport' => '',
+ 'dbtableprefix' => 'oc_',
+ 'dbuser' => '{{ nextcloud_websrv_user}}',
+ 'dbpassword' => '',
+ 'installed' => true,
+ 'apps_paths' =>
+ array (
+ 0 =>
+ array (
+ 'path' => '{{ nextcloud_webroot}}/nextcloud/apps/',
+ 'url' => '/apps',
+ 'writable' => false,
+ ),
+ 1 =>
+ array (
+ 'path' => '{{ nextcloud_webroot}}/common/',
+ 'url' => '/common-apps',
+ 'writable' => false,
+ ),
+ ),
+ 'theme' => '',
+ 'loglevel' => 2,
+);
---
-# commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml -e "site_domain=cyclocoop"
+# commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml
-# promp pour définir les variables
-- hosts: ligatures
+- name: Promp pour définir les variables
+ hosts: ligatures
vars_prompt:
- - name: nouvelle_version
- prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
- private: false
- - name: tld
- prompt: 'TLD du site à mettre à jour?(ex: org)'
- private: false
+ - name: nouvelle_version
+ prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
+ private: false
- - name: domain
- prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
- private: false
+ - name: tld
+ prompt: 'TLD du site à mettre à jour?(ex: org)'
+ private: false
+
+ - name: domain
+ prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
+ private: false
+
+ - name: sigle
+ prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
+ private: false
- - name: sigle
- prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
- private: false
pre_tasks:
- - name: Vérif si la source nextcloud est téléchargé
- become: true
- ansible.builtin.stat:
- path: "{{ nextcloud_source }}"
- register: new_nextcloud_source
- - name: Vérif si le dossier common app est créé
- become: true
- ansible.builtin.stat:
- path: "{{ nextcloud_common }}"
- register: new_nextcloud_common
+ - name: Vérif si la source nextcloud est téléchargé
+ become: true
+ ansible.builtin.stat:
+ path: "{{ nextcloud_source }}"
+ register: new_nextcloud_source
+
+ - name: Vérif si le dossier common app est créé
+ become: true
+ ansible.builtin.stat:
+ path: "{{ nextcloud_common }}"
+ register: new_nextcloud_common
- - name: obtenir l'ancienne version
- become_user: "{{ nextcloud_websrv_user }}"
- become: true
- command: '{{ nextcloud_webroot }}/console status --output=json'
- register: result
+ - name: Obtenir l'ancienne version # noqa : command-instead-of-module
+ become_user: "{{ nextcloud_websrv_user }}"
+ become: true
+ ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json'
+ register: result
- - name: enregistrer l'ancienne version
- set_fact:
- ancienne_version: "{{ tmp.versionstring }}"
- vars:
- tmp: "{{ result.stdout | from_json }}"
+ - name: Enregistrer l'ancienne version
+ ansible.builtin.set_fact:
+ ancienne_version: "{{ tmp.versionstring }}"
+ vars:
+ tmp: "{{ result.stdout | from_json }}"
tasks:
- - include_tasks: tasks/download_nextcloud_source.yml
- when: not new_nextcloud_source.stat.exists
- vars:
- ansible_become: true
- become_user: nextcloud
+ - name: Include download_nextcloud_source tasks
+ ansible.builtin.include_tasks: tasks/download_nextcloud_source.yml
+ when: not new_nextcloud_source.stat.exists
+ vars:
+ ansible_become: true
+ become_user: nextcloud
- - name: create new app common folder from old version one
- become_user: nextcloud
- become: true
- ansible.builtin.copy:
- src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/"
- dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
- remote_src: yes #because the config file is already in the nextcloud_tmp_path
- mode: '754' #or 'u=rwx,g=rx,o=r'
- when: not new_nextcloud_common.stat.exists
+ - name: Create new app common folder from old version one
+ become_user: nextcloud
+ become: true
+ ansible.builtin.copy:
+ src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/"
+ dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
+ remote_src: true # because the config file is already in the nextcloud_tmp_path
+ mode: '754' # or 'u=rwx,g=rx,o=r'
+ when: not new_nextcloud_common.stat.exists
- - include_tasks: tasks/update_nextcloud.yml
+ - name: Include update tasks
+ ansible.builtin.include_tasks: tasks/update_nextcloud.yml
- - name: display upgrade result
- debug:
- msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"
+ - name: Display upgrade result
+ ansible.builtin.debug:
+ msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"